home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Graphics / Multimedia / Movie3.0 / Source / xanim / xanim_qt.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-23  |  3.8 KB  |  177 lines

  1.  
  2. /*
  3.  * xanim_qt.h
  4.  *
  5.  * Copyright (C) 1993,1994 by Mark Podlipec.
  6.  * All rights reserved.
  7.  *
  8.  * This software may be freely copied, modified and redistributed without
  9.  * fee for non-commerical purposes provided that this copyright notice is
  10.  * preserved intact on all copies and modified copies.
  11.  *
  12.  * There is no warranty or other guarantee of fitness of this software.
  13.  * It is provided solely "as is". The author(s) disclaim(s) all
  14.  * responsibility and liability with respect to this software's usage
  15.  * or its effect upon hardware or computer systems.
  16.  *
  17.  */
  18.  
  19. #include "xanim.h"
  20.  
  21. #define QT_moov 0x6D6F6F76
  22. #define QT_trak 0x7472616B
  23. #define QT_mdia 0x6D646961
  24. #define QT_minf 0x6D696E66
  25. #define QT_stbl 0x7374626C
  26. /*-------------- LISTS ---------------------*/
  27. #define QT_edts 0x65647473
  28. /*-------------- STUFF ---------------------*/
  29. #define QT_hdlr 0x68646C72
  30. #define QT_mvhd 0x6D766864
  31. #define QT_tkhd 0x746B6864
  32. #define QT_elst 0x656C7374
  33. #define QT_mdhd 0x6D646864
  34. #define QT_stsd 0x73747364
  35. #define QT_stts 0x73747473
  36. #define QT_stss 0x73747373
  37. #define QT_stsc 0x73747363
  38. #define QT_stsz 0x7374737a
  39. #define QT_stco 0x7374636f
  40. /*-------------- VIDEO CODECS ---------------*/
  41. #define QT_rle   0x726c6520
  42. #define QT_smc   0x736D6320
  43. #define QT_rpza  0x72707A61
  44. #define QT_cvid  0x63766964
  45. #define QT_jpeg  0x6a706567
  46. #define QT_SPIG  0x53504947
  47. #define QT_yuv2  0x79757632
  48. /*-------------- VIDEO/AUDIO CODECS ---------------*/
  49. #define QT_raw   0x72617720
  50. /*-------------- AUDIO CODECS ---------------*/
  51. #define QT_raw00 0x00000000
  52. #define QT_twos  0x74776f73
  53. #define QT_MAC6  0x4d414336
  54. /*-------------- misc ----------------------*/
  55. #define QT_vmhd 0x766D6864
  56. #define QT_dinf 0x64696e66
  57. #define QT_appl 0x6170706C
  58. #define QT_mdat 0x6D646174
  59. #define QT_smhd 0x736d6864
  60. #define QT_stgs 0x73746773
  61. #define QT_udta 0x75647461
  62. #define QT_skip 0x736B6970
  63. #define QT_gmhd 0x676d6864
  64. #define QT_text 0x74657874
  65.  
  66. typedef struct
  67. {
  68.   ULONG compression;
  69.   ULONG dref_id;
  70.   ULONG version;
  71.   ULONG codec_rev;
  72.   ULONG vendor;
  73.   USHORT chan_num;
  74.   USHORT bits_samp;
  75.   USHORT comp_id;
  76.   USHORT pack_size;
  77.   USHORT samp_rate;
  78.   USHORT pad;
  79.   ULONG  bps;        /* convenience for me */
  80. } QTS_CODEC_HDR;
  81.  
  82. typedef struct
  83. {
  84.   ULONG version;                /* version/flags */
  85.   ULONG creation;               /* creation time */
  86.   ULONG modtime;                /* modification time */
  87.   ULONG timescale;
  88.   ULONG duration;
  89.   ULONG rate;
  90.   USHORT volume;
  91.   ULONG  r1;
  92.   ULONG  r2;
  93.   ULONG matrix[3][3];
  94.   USHORT r3;
  95.   ULONG  r4;
  96.   ULONG pv_time;
  97.   ULONG pv_durat;
  98.   ULONG post_time;
  99.   ULONG sel_time;
  100.   ULONG sel_durat;
  101.   ULONG cur_time;
  102.   ULONG nxt_tk_id;
  103. } QT_MVHDR;
  104.  
  105. typedef struct
  106. {
  107.   ULONG version;                /* version/flags */
  108.   ULONG creation;               /* creation time */
  109.   ULONG modtime;                /* modification time */
  110.   ULONG trackid;
  111.   ULONG timescale;
  112.   ULONG duration;
  113.   ULONG time_off;
  114.   ULONG priority;
  115.   USHORT layer;
  116.   USHORT alt_group;
  117.   USHORT volume;
  118.   ULONG matrix[3][3];
  119.   ULONG tk_width;
  120.   ULONG tk_height;
  121.   USHORT pad;
  122. } QT_TKHDR;
  123.  
  124. typedef struct
  125. {
  126.   ULONG version;                /* version/flags */
  127.   ULONG creation;               /* creation time */
  128.   ULONG modtime;                /* modification time */
  129.   ULONG timescale;
  130.   ULONG duration;
  131.   USHORT language;
  132.   USHORT quality;
  133. } QT_MDHDR;
  134.  
  135. typedef struct
  136. {
  137.   ULONG version;                /* version/flags */
  138.   ULONG type;
  139.   ULONG subtype;
  140.   ULONG vendor;
  141.   ULONG flags;
  142.   ULONG mask;
  143. } QT_HDLR_HDR;
  144.  
  145.  
  146. typedef struct QT_FRAME_STRUCT
  147. {
  148.   ULONG time;
  149.   ULONG timelo;
  150.   XA_ACTION *act;
  151.   struct QT_FRAME_STRUCT *next;
  152. } QT_FRAME;
  153.  
  154. typedef struct
  155. {
  156.   ULONG width;
  157.   ULONG height;
  158.   ULONG depth;
  159.   ULONG compression;
  160.   XA_CHDR *chdr;
  161. } QTV_CODEC_HDR;
  162.  
  163. typedef struct
  164. {
  165.   ULONG first;
  166.   ULONG num;
  167.   ULONG tag;
  168. } QT_S2CHUNK_HDR;
  169.  
  170. typedef struct
  171. {
  172.   ULONG cnt;
  173.   ULONG time;
  174.   ULONG timelo;
  175. } QT_T2SAMP_HDR;
  176.  
  177.